package cn.jy.map.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.jy.map.domain.FiveLink;
import cn.jy.map.domain.LcBaseLcblfy;
import cn.jy.map.domain.Nurse;
import cn.jy.map.domain.NurseGjzColligate;
import cn.jy.map.domain.RelDounnur;
import cn.jy.map.domain.RelHistory;
import cn.jy.map.domain.Wxjyy;

/**
 * 临床不良反应
 * @author Administrator
 *
 */
public interface LcblfyMapper {

	/**
	 * 获取某个浆员的所有临床反应记录的日期
	 * @param providerNo
	 * @return
	 */
	public List<String> getBlfyDateByProviderNo(@Param("providerNo")String providerNo);
	
	/**
	 * 根据日期和某个浆员，或者浆员这天的临床反应基本信息
	 * @param providerNo
	 * @param date
	 * @return
	 */
	public List<LcBaseLcblfy> getBlfyByProviderNo(@Param("providerNo")String providerNo,@Param("date")String date);
	/**
	 * 获取某个表中的临床反应码表信息
	 * @param providerNo
	 * @param date
	 * @return
	 */
	public String getBlfyDmName(@Param("code")String code,@Param("tableName")String tableName);
	/**
	 * 获取采浆机编号，根据ID
	 * @param id
	 * @return
	 */
	public String getMacCodeById(@Param("id")String id);
	
/*	*//**
	 * 保存重点浆员信息
	 * @param providerNo
	 *//*
	public void saveKeyProvider(@Param("keyProvider")KeyProvider keyProvider);
	*//**
	 * 更新重点浆员信息
	 *//*
	public void updateKeyProvider(@Param("keyProvider")KeyProvider keyProvider);
	*//**
	 * 获取重点浆员信息
	 * @param providerNo
	 *//*
	public List<KeyProvider> getKeyProvider(@Param("providerNo")String providerNo);
	*//**
	 * 删除具体某个村的重点浆员信息
	 * @param address
	 *//*
	public void delKeyProviderByVill(@Param("address")String address);*/
	
	
	/**
	 * 从精英获取某一天来献浆的浆员列表
	 * @param date : 指定日期
	 */
	public List<String> getComedAllPNo(@Param("date")String date);

	/**
	 * 获取所有护士
	 * @return
	 */
	public List<Nurse> getNurse();
	/**
	 * 获取浆员的链接管理信息
	 * @param providerNo
	 * @return
	 */
	public List<RelDounnur> getRelDounnur(@Param("providerNo")String providerNo);
	
	/**
	 * 修改浆员的链接护士
	 * @param providerNo
	 * @param hsxm
	 */
	public void updateRelDounnur(RelDounnur doun);
	
	/**
	 * 保存浆员的链接护士
	 * @param providerNo
	 * @param hsxm
	 */
	public void saveRelDounnur(RelDounnur doun);
	/**
	 * 保存护士修改历史
	 */
	public void saveRRelHistory(RelHistory his);
	/**
	 * 获取浆员的护士修改历史
	 */
	public List<RelHistory> getRRelHistory(@Param("providerNo")String providerNo);
	/**
	 * 查询浆员的沟通记录
	 * @param providerNo
	 */
	public List<Wxjyy> getGtReason(@Param("providerNo")String providerNo );
	/**
	 * 查询指定护士链接的浆员名单
	 * @param nurseId
	 */
	public List<String> getNurseConnProviderNoList(@Param("nurseId")String nurseId,@Param("date")String date);
	public List<String> getNurseConnProvider(@Param("nurseId")String nurseId,@Param("date")String date);
	/**
	 * 查询指定护士链接的浆员所属的村子集合
	 * @param nurseId
	 */
	public List<String> getNurseVill(@Param("nurseId")String nurseId );
	/**
	 * 查询指定护士管理的所有浆员的综合统计信息
	 * @param nurseId
	 */
	public List<NurseGjzColligate> getNurseGjzGoll(@Param("nurseId")String nurseId );
	/**
	 * 保存指定护士管理的所有浆员的综合统计信息
	 * @param nurseId
	 */
	public void saveNurseGjzGoll(NurseGjzColligate ngc);
	/**
	 * 更新指定护士管理的所有浆员的综合统计信息
	 * @param nurseId
	 */
	public void updateNurseGjzGoll(NurseGjzColligate ngc);
	
	/**
	 * 根据五步链接表中的JYXM查询GJZXX表中的卡号
	 */
	public List<FiveLink> getFiveLink(@Param("cardId")String cardId,@Param("date")String date);
	/**
	 * 根据五步链接查询出来的结果去匹配链接环节对应的name
	 * @param code
	 * @return
	 */
	public String getLinkHj(String code);
	/**
	 * 根据五步链接查询出来的结果去匹配链接效果对应的name
	 * @param code
	 * @return
	 */
	public String getLinkXG(String code);
	/**
	 * 根据五步链接查询出来的结果去匹配链接承诺对应的name
	 * @param code
	 * @return
	 */
	public String getLinkCN(String code);
	
	public List<String> getByVills(@Param("cardId")String cardId);
	
}
